package com.ruoyi.member.service;

import java.util.List;
import com.ruoyi.member.domain.Member;

/**
 * 会员管理Service接口
 * 
 * @author ruoyi
 */
public interface IMemberService {
    /**
     * 查询会员列表
     * 
     * @param member 会员信息
     * @return 会员集合
     */
    public List<Member> selectMemberList(Member member);

    /**
     * 通过会员ID查询会员
     * 
     * @param memberId 会员ID
     * @return 会员对象信息
     */
    public Member selectMemberById(Long memberId);

    /**
     * 通过用户名查询会员
     * 
     * @param username 用户名
     * @return 会员对象信息
     */
    public Member selectMemberByUsername(String username);

    /**
     * 通过手机号查询会员
     * 
     * @param mobile 手机号
     * @return 会员对象信息
     */
    public Member selectMemberByMobile(String mobile);

    /**
     * 注册会员信息
     * 
     * @param member 会员信息
     * @return 结果
     */
    public int registerMember(Member member);

    /**
     * 修改会员
     * 
     * @param member 会员信息
     * @return 结果
     */
    public int updateMember(Member member);

    /**
     * 修改会员状态
     * 
     * @param member 会员信息
     * @return 结果
     */
    public int updateMemberStatus(Member member);

    /**
     * 修改会员积分
     * 
     * @param member 会员信息
     * @return 结果
     */
    public int updateMemberPoints(Member member);

    /**
     * 重置会员密码
     * 
     * @param member 会员信息
     * @return 结果
     */
    public int resetMemberPwd(Member member);

    /**
     * 校验用户名称是否唯一
     * 
     * @param username 用户名
     * @return 结果
     */
    public boolean checkUsernameUnique(String username);

    /**
     * 校验手机号码是否唯一
     *
     * @param member 会员信息
     * @return 结果
     */
    public boolean checkMobileUnique(Member member);

    /**
     * 删除会员信息
     * 
     * @param memberId 会员ID
     * @return 结果
     */
    public int deleteMemberById(Long memberId);

    /**
     * 批量删除会员信息
     * 
     * @param memberIds 需要删除的会员ID
     * @return 结果
     */
    public int deleteMemberByIds(Long[] memberIds);
} 